class Solution {
    public int findTargetSumWays(int[] nums, int target) {
            int sum = 0 ;
            int len = nums.length ;
             for(int x : nums) sum += x ;
             if(sum+target<0 || (sum+target)%2==1) return 0 ;
             sum = (sum+target)/2 ; 
             int[] dp = new int[sum+1] ;
             dp[0] = 1 ;
             for(int i=0 ; i< len ; i ++){
                for(int j=sum ; j>=0 ; j --){
                  if(j >= nums[i]){
                    dp[j] += dp[j-nums[i]] ;
                  }
                }
             }
         return dp[sum] ; 

    }
}